public class Test {
    //参数可以被接收，是因为robot实现了IRunning接口
    public static void walk(IRunning running){
        //时刻牢记多态的好处，让程序猿忘记类型。有了接口之后，类的使用者就不必关注具体类型，而只关注某个类是否具备某种能力
        //在这个walk方法内部，我们并不关注到底是哪种动物，只要参数是会跑的就行
        //甚至参数可以不是“动物”，只要会跑！

        System.out.println("我带着伙伴去散步");
        running.run();
    }

    public static void main(String[] args) {
        Cat cat = new Cat("尼莫");
        Fish fish = new Fish("小鱼");
        Duck duck = new Duck("鸭子");
        cat.run();
        fish.swim();
        duck.run();
        duck.swim();
        duck.fly();

        walk(cat);
        walk(duck);
        walk(new Robot());

        Dog dog = new Dog("柴犬");
        dog.run();
        dog.swim();

    }

}